Field of Invention
The disclosed embodiments and methods relate generally to user interfaces of computing devices and mobile electronic devices, and more particularly, to computing devices and mobile electronic devices that interpret user presses, releases, and motions of buttons, keys, or touch screen objects to determine device commands.
Description of Prior Art
Users of computing devices control the devices through a user interface. User interfaces have evolved from text based interfaces to graphical user interfaces, often referred to as GUI (Graphical User Interface). Graphical user interfaces generally use a pointer, controlled by a mouse, to select menus or buttons to input commands to the device. Menus act like a list of buttons and selecting a menu item requires placing the pointer over the menu item and then clicking on the menu item. Clicking on a menu item generally consists of pressing a mouse button and then, releasing the button. Menus are generally invoked by one of two methods. The first method is to move the pointer over a top menu item and click, whereby a submenu appears. The second method is to pop up a menu by clicking a mouse button, usually the right button. Menus are somewhat inefficient in that the pointer is usually at the top of the menu which usually consists of a vertical list of menu items. The user has to move the pointer half the distance of the list, on average, to choose a menu item. This is a farther distance than if the pointer were centered in the list. Both top level menus and buttons take up display screen real estate reducing the amount of program content that can be displayed. Menus are almost impossible to use without the user visually keeping track of the position of the pointer, and which menu item the pointer is over.
Radial menus were disclosed decades ago that solve some of the above listed menu problems. But their large display area and limit of just one initial radial menu may have been the reason they have not been widely adopted. Radial menus, sometimes referred to as “pie menus”, were first disclosed by Don Hopkins (“The Design and Implementation of Pie Menus”, December 1991, pp. 16-26, Dr Dobbs Journal). Some improvements to radial menus were taught by Driskell (U.S. Pat. No. 5,596,699) and Atkinson (U.S. Pat. No. 5,701,424-A) and Mouilleseaux (2009/0327964). However, these radial menus were menus and not buttons. They do not offer the user the efficiency and expediency of functioning like a button where the user may simply press and release a button to input a command. The radial menus require further interaction, such as pressing a button just to initialize and popup a radial menu onto the display screen, from which the user may then select a command through further interaction with the radial menu.
As portable computing devices become smaller, the size of their display screens and the objects available for physical user input have become smaller. A small display screen, one that is much smaller than a desktop or laptop computer's display screen, presents a significant challenge to provide a user interface that allows users to easily interact with a computing device with a minimum of misinterpreted commands and gestures. This is particularly true on the small screens of smartwatches.
On many portable computing devices, touch screen user interfaces have replaced mouse and pointer user interfaces. The user touches the screen with a finger, or stylus to enter commands into a device. The user may touch an on-screen button to invoke a command. Touch user interfaces generally dispense with menus, as they take up to much screen space, in favor of on-screen touch buttons. Buttons, however, are limited to one command and, thus, limit the functionality of the application programs.
With touch screen user interfaces, the user may touch and drag, or “flick” an object to change the object directly. It is common to scroll objects and navigate through pages of information as well as to give the object a command. However, it is not common to be able to give the object a multitude of different commands, beyond the direction of a scroll or navigation. A plurality of buttons is commonly used when a plurality of different commands for the object may be presented to the user. However this takes up valuable screen space. If many buttons are required, sometimes called keys, then the size of each button, or key, has to be very small. This makes it hard for the user to use the button, or key, with accuracy.
Many portable computing devices contain keyboards. Keyboards consist of a collection of buttons that are commonly called keys. The keyboards on many portable computing devices often have a minimum of keys with one or more keys to switch the set of commands that the keys generate. An example of this is the common “shift” key. Whether the keyboards are physical keyboards or touch screen keyboards, they are being condensed in size to the point where it becomes difficult for the user to press a desired key without inadvertently pressing an unintended key. Further, users of portable computing devices generally hold the device with one, or both, hands while using the keyboard. This limits the user to using less than all fingers to operate the keyboard. Users generally use one or more fingers of one hand, or both thumbs of both hands. The limited size of keyboards on portable computing devices, along with the users using a limited number of fingers to operate the keyboards, make touch typing nearly impossible for the user. This makes typing on portable computing devices difficult. The user not only has to look at the keyboard when typing, but the user has to look at the text being entered to see the typing mistakes. Most of the mistakes made are due to the small size of the keys on the keyboard, and the user typing with a limited number of fingers. After a mistake has been made, the user then has to correct the typing mistake, which generally requires the user to also look at different places on the screen and keyboard. Every time a mistake and subsequent correction is made, it takes significant time to correct. Reliably translating a user's intended input, through buttons and the like, into device commands is very important to the user's satisfaction in using a computing device.
Several solutions have been proposed, and implemented to try and improve typing with small keyboards. One such example are keyboards that allow a user to touch a key on a touch screen keyboard, and then to swipe the users finger across each letter of the word before lifting the touch when the last letter has been touched. This is the method of operation of keyboards such as Swype (U.S. Pat. No. 7,808,480 Gross, U.S. Pat. No. 7,098,896 Kushler, http://www.swypeinc.com/), Shapewriter (U.S. Pat. No. 7,895,518 Kristensson, http://www.shapewriter.com/), and SlideIT (U.S. Pat. No. 7,199,786 Suraqui, http://www.mobiletextinput.com/Download/).
To operate these swiping keyboards, the user still has to slide his finger over each letter of a word. These keyboards have a similar number of keys to a conventional touch keyboard and, thus, have similarly sized small keys. Sliding a finger across a key is in no way more accurate than simply taping each letter of a word. Accordingly, the swiping keyboards heavily rely on predicting what the user intended to type. While predictive technologies improve a user's experience by predicting correctly more often than not, prediction has an associated error rate. Predictive corrections force a user to correct whole words instead of individual characters of a word. This represents no overall improvement to the user.
A method to enhance typing on a small keyboard is to use a smaller number of keys. One technology to use this strategy is the T9® text input system (U.S. Pat. No. 5,818,437 Grover). In this system, the user presses a key that represents more than one character. After pressing the keys that have the characters on them that comprise a word, the system decodes the keys pressed and enters the word that it thinks that the user was intending to type. This method, of course, has a high error rate as more than one word can be represented by the same sequence of key presses. A high error rate is obviously undesirable to the user.
Another keyboard to use a smaller number of keys is MessagEase (U.S. Pat. No. 6,847,706 Bozorgui-Nesbat, www.exideas.com). It uses only nine keys, in a 3 by 3 grid, to contain all the letters of the alphabet. A user types with MessagEase by entering individual characters with either a tap of a key, or by touching a key, and then sliding a finger across to be released on another key. This allows a single key that is larger than a convention key, for a given keyboard size, and yet lets the user select from multiple keystrokes choices, unambiguously, from a single key. This represents an improvement to the user, as the larger keys can be pressed by the user with a lower error rate than the small keys of a conventional keyboard. However, the keys of MessagEase require the user to slide, or swipe, a specific distance and direction to select certain characters. The distance must be enough to leave the key that the user initially pressed and not so far as to pass the adjacent key. Further, the MessagEase keys may only be swiped in the direction of an adjacent key, which limits the number of character choices that can be selected with an initial key press. Further, the keyboard layout of MessagEase does not resemble a conventional keyboard layout, which limits market acceptance.
Another keyboard that uses a limited number of keys is the Tiki6Keys® keyboard (http://tikilabs.com/index.php?p=home). This keyboard provides different modes of use. In one mode, the user is required to press multiple keys to enter a character. This obviously slows text input verses a conventional keyboard that only requires a single key press. In another mode, the user may press a key and then slide to another key to enter a character. This is similar to MessagEase and has the same limitations.
On small devices, keyboards generally have the requirement of needing to give the user a reliable selection method between many choices, as there are many characters in a language. Due to this, many creative solutions have been tried for small keyboards with varying degrees of success. However, user input objects that can quickly enable a user to input a multitude of commands, or characters, within the small confines of a small space can be useful in many applications, beyond keyboards. What is needed is a button, menu, or key, that can enable a user to reliably select from a plurality of commands with high reliability, efficiency, and little user motion and effort. A preferred solution has been described and disclosed in U.S. Provisional Patent Application 61/396,261 (May 24, 2010) (to the inventor of the present invention), and further disclosed in U.S. Provisional Patent Application 61/902,502, Filed Nov. 11, 2013 (to the inventor of the present invention) to which the present application claims priority.